PHP 언어에서 데이터베이스에 저장된 row의 모든 개수를 구하려면 어떻게 해야할까요? 우선 DB를 불러오기 위하여
SELECT문을 사용하여 일부 또는 모든 데이터를 얻고 해당하는 row 개수를 알아야할 것입니다. 이를 알기위한 방법으로
mysqli_num_rows() 함수를 사용할 수 있습니다.
# PHP mysqli_num_rows() 함수 알아보기
이 함수는 해당하는
데이터의 총 개수를 숫자로 반환하여 줍니다. 만약 쿼리를 통해 가져온 데이터가 $data이라면 아래와 같이 간단하게 사용할 수 있습니다.
mysqli_num_rows($data)위와 같이 상요하면 해당하는 쿼리문에서 반환된 row의 개수,
총 몇 개의 행을 가졌는지 그 개수를 반환하는 함수입니다. 예를 들어 아래와 같은 테이블이 존재하고 SELECT문을 사용하여 얻은 결과가 총 몇 개의 행을 가지고 있는지 알고자 한다면 했을 경우 아래와 같이 사용할 수 있습니다. 아래는 테이블에 존재하는 row값을 구하기 위한 실전 예제소스입니다.
! mysqli_num_rows() 예제소스 보기
아래예제는 테이블에서 존재하는 row의 개수를 구하는 예제입니다.
1. 테이블명 - contact
2. 테이블에 존재하는 값
==================
id - - - phone
==================
1 - - - 01011112222
2 - - - 01022223333
3 - - - 01033334444
4 - - - 01091112222
==================
위와 같은 테이블이 존재하는 경우 2개의 필드에 총 4개의 row가 존재합니다. 이를 사용하여 총 개수를 구해보도록 하겠습니다.
<?php
$query = "SELECT * FROM contact";
$data = mysqli_query($dbc, $query);
$total_rows = mysqli_num_rows($data);
echo $total_rows;
?>
위의 결과값으로 해당 테이블 contact는 총 3개의 행이 있으므로 $total_rows는 3을 반환합니다.
4 // $total_rows가 가진 모든 행의 개수 반환
전체 행의 개수를 구하는 방법으로 아래와 같은 방법이 또 하나 있습니다. 여기서는 쿼리문에 COUNT() 함수를 사용하는 방법으로 $row[0]을 함께 사용합니다. 방법은 아래와 같습니다.
<?php
$query = "SELECT COUNT(*) FROM contact";
$data = mysqli_query($dbc, $query);
$row = mysqli_fetch_array($data);
$total_rows = $row[0];
echo $total_rows;
?>
# 마치면서, PHP에서 총 개수는 언제 필요할까요
위와 같이 데이터의 총 개수를 구해야하는 경우가 언제있을까요? 많은 경우가 있겠으나 일반적으로 페이지를 나누어 보여주는 경우... 즉 페이지네이션을 구현할때도 사용합니다. 보여줄 개수를 총 개수에서 나누어야 현재 또는 총 페이지 계산이 가능하므로 이를 위하여 총 row 데이터값이 필요할 수 있습니다.
그 외에도 게시판이나 카테고리에 총 개수를 간략하게 보여주기 위하여 아래와 같이 표기할 수 있을 것입니다. 이 경우에도 많이 사용됩니다.
:+: 카테고리 총개수(100) :+:
1. 자바스크립트 (50)
2. html/css (30)
3. PHP(20)
위와 같이 총 개수를 사용하는 곳은 매우 많이 사용되므로 매우 중요합니다.